#ifndef PLUGINSMANAGERPOOLDAO_H
#define PLUGINSMANAGERPOOLDAO_H

#include <QCache>
#include <QList>

#include "../Pojo/pluginsmanagerpool.h"
#include "../Specification.h"

class PluginsManagerPoolDao
{
public:
	PluginsManagerPoolDao();

	/* 查找 */
	PluginsManagerPool* findOne(const quint32 &id);
	PluginsManagerPool* findOne(const Specification &spec);

	QList<PluginsManagerPool> findAll(const Specification &spec);

	/* 保存 */
	void save(const PluginsManagerPool *pluginsManagerPool);

	/* 删除 */
	void del(const quint32 &id);

private:
	/* 单条记录缓存，key:"id"，value:"PluginsManagerPool" */
	static QCache<QString, PluginsManagerPool> pluginsManagerPoolCache;
	/* 缓存多条记录，key:"方法名+参数"，value：pluginsManagerPool列表 */
	static QCache<QString, QList<PluginsManagerPool>> pluginsManagerPoolsCache;
};

#endif // PLUGINSMANAGERPOOLDAO_H
